package com.xinwangai.jingbai.common;

/**
 * 系统常量定义
 *
 * @author guo.wenliang
 * @since 2025/6/25 10:06
 */
public final class Constants {

    public static final String RESP_RESULT_SUCCESS = "0"; // 接口成功响应
    public static final String RESP_RESULT_BUSINESS_ERROR = "1"; // 接口响应业务异常，包括参数校验失败等
    public static final String RESP_RESULT_SYSTEM_ERROR = "-1"; // 接口响应数据库异常

    private Constants() {

    }

    // 字典表类型
    public static class Dictionary {
        public static final String MEMBER_ROLE_TYPE = "MEMBER_ROLE_TYPE"; // 成员角色类型
    }

    // 打卡系统相关常量
    public static class Checkin {
        // 主打卡活动类型
        public static final int TYPE_COMPREHENSIVE = 1;    // 综合计划
        public static final int TYPE_ONBOARDING = 2;       // 新人融入
        public static final int TYPE_PERFORMANCE = 3;      // 演出准备
        public static final int TYPE_TRAINING = 4;         // 技能培训

        // 子打卡活动类型
        public static final int SUB_TYPE_DAILY = 1;        // 每日打卡
        public static final int SUB_TYPE_WEEKLY = 2;       // 每周打卡
        public static final int SUB_TYPE_CUSTOM = 3;       // 自定义


        // 子活动状态
        public static final String SUB_STATUS_PENDING = "pending";     // 待开始
        public static final String SUB_STATUS_IN_PROGRESS = "in_progress"; // 进行中
        public static final String SUB_STATUS_COMPLETED = "completed"; // 已完成

        // 打卡记录状态
        public static final String RECORD_STATUS_COMPLETED = "completed";   // 已完成
        public static final String RECORD_STATUS_IN_PROGRESS = "in_progress"; // 进行中

        // 默认值
        public static final int DEFAULT_PAGE_SIZE = 20;    // 默认分页大小
        public static final int DEFAULT_TARGET_DAYS = 30;  // 默认目标天数
        public static final int DEFAULT_DURATION = 30;     // 默认打卡时长（分钟）
    }
}
